package pl.streamsoft.currencyApp.dao;

import java.util.Date;
import java.util.List;

import pl.streamsoft.currencyApp.model.Currency;

public interface ICurrencyDAO {
	void insertCurrencyIntoDB(Currency currency);
	//test is in AppServiceTest
	Currency getCurrencyFromDBByCodeAndDate(String code, Date data);
	void deleteCurrency(String name, String code, Date date);
	void deleteCurrencyFromCountry(String countryName, Currency currency);
	//List<Currency> getAllCurrencies();
	void saveAllCurrencies(List<Currency> listOfCurrencies);
	void deleteAllCurrenciesFromDB();
	List<Currency> getAllCurrenciesFromInterval(String from, String to);
	List<Currency> getAllCurrenciesWhereNameMatchesWord(String word);
	//void addCurrencyIntoCountry(String countryName, Currency currency);
	List<Currency> getCurrenciesFromDate(Date date);
	List<Currency> getCurrencyFromDateToDate(Date from, Date to);
	void findAndChangeCurrencyInfo(Currency newCurrency, Date dateOfOldCurrency, String codeOfOldCurrency);
}
